@echo off
title 用户积分和订单有效期功能测试
color 0B

echo ========================================
echo   用户积分和订单有效期功能测试
echo ========================================
echo.

echo [1/5] 检查编译状态...
echo ----------------------------------------
javac -cp . -d out/production/estore model/*.java service/*.java network/*.java view/*.java
if %ERRORLEVEL% EQU 0 (
    echo ✅ 编译成功！
) else (
    echo ❌ 编译失败！
    pause
    exit /b 1
)
echo.

echo [2/5] 启动服务器...
echo ----------------------------------------
start "EStore Server" cmd /c "title EStore Server && java -cp out/production/estore com.estore.network.EStoreServer"
echo ✅ 服务器启动中（包含自动清理过期订单任务）...
timeout /t 3 /nobreak >nul
echo.

echo [3/5] 启动客户端...
echo ----------------------------------------
start "EStore Client" cmd /c "title EStore Client && java -cp out/production/estore com.estore.network.EStoreClient"
echo ✅ 客户端启动中...
timeout /t 2 /nobreak >nul
echo.

echo [4/5] 测试指南
echo ========================================
echo.
echo 🎯 测试功能：
echo.
echo 📈 积分系统测试：
echo   1. 注册新用户并登录
echo   2. 添加商品到购物车并下单支付
echo   3. 验证积分按10:1比例增加
echo   4. 验证积分达到1000自动升级VIP
echo   5. 检查VIP升级提示信息
echo.
echo ⏰ 订单有效期测试：
echo   1. 创建订单但不支付（待付款状态）
echo   2. 使用管理员账户登录
echo   3. 进入"订单有效期管理"菜单
echo   4. 检查订单剩余有效时间
echo   5. 等待30分钟后验证订单自动销毁
echo   6. 测试手动清理过期订单功能
echo   7. 查看即将过期的订单提醒
echo.
echo 🔧 服务器自动任务：
echo   - 每5分钟自动清理过期订单
echo   - 提前5分钟提醒即将过期的订单
echo.

echo [5/5] 管理员测试账户
echo ========================================
echo 用户名: admin
echo 密码: admin123
echo 角色: ADMIN
echo.
echo ========================================
echo 📝 详细测试步骤：
echo.
echo 积分系统测试：
echo 1. 注册用户 → 购物 → 支付 → 检查积分增加
echo 2. 多次购物直到积分≥1000 → 验证VIP自动升级
echo 3. 检查用户角色变化和提示信息
echo.
echo 订单有效期测试：
echo 1. 创建订单 → 不支付 → 记录订单ID
echo 2. 管理员登录 → 订单有效期管理 → 检查有效期
echo 3. 观察剩余时间倒计时
echo 4. 等待过期或手动清理
echo 5. 验证过期订单自动销毁
echo.
echo ========================================
echo 按任意键关闭测试窗口...
pause >nul

echo.
echo 🧹 清理测试环境...
taskkill /f /im java.exe >nul 2>&1
echo ✅ 测试完成！